package com.indusfo.spc.mapper;

import com.indusfo.spc.pojo.FixedDete;
import org.apache.ibatis.annotations.Param;

import java.util.List;
/**
 * @author: louk
 * @Description:固定监测项目mapper
 * @date: 2019/11/22 13:23
 *
 */

public interface FixedDeteMapper {

    /**
     * 新增
     * @param record
     * @return
     */
    int insert(FixedDete record);

    /**
     * 查询单个
     * @param fixedDete
     * @return
     */
    FixedDete selectByPrimaryKey(FixedDete fixedDete);

    /**
     * 查询所有固定检测项目
     * @param fixedDete
     * @return
     */
    List<FixedDete> selectAllFixedDete(FixedDete fixedDete);

    /**
     * 计数
     * @param fixedDete
     * @return
     */
    int countFixedDete(FixedDete fixedDete);

    /**
     *编辑固定检测项目
     * @param record
     * @return
     */
    int updateByFixedDeteId(FixedDete record);

    /**
     *启用停用删除固定检测项目
     * @param fixedDeteIds
     * @param dataState
     * @return
     */
    int definesFixedDete(@Param("fixedDeteIds") Integer[] fixedDeteIds,@Param("dataState") Integer dataState);


    /**
     * 判断单据编号是否重复
     * @param fixedDete
     * @return
     */
    int checkfixedDeteNo(FixedDete fixedDete);

    /**
     *判断是否有固定检测项目包含指定车间
     */
    int queryByWorkshopIds(@Param("workshopIds") Integer[] workshopIds);

    /**
     * 判断固定检测项目包含指定工位
     * @param stationIds
     * @return
     */
    int queryByStationIds(@Param("stationIds")Integer[] stationIds);

    /**
     * 查询项目类型
     * @param fixedDeteId
     * @return
     */
    Integer queryProjectType(@Param("fixedDeteId") Integer fixedDeteId);

    /**
     * 查询判定项目类型的检测项目
     * @param fixedDete
     * @return
     */
    List<FixedDete> queryJudgeFixedDete(FixedDete fixedDete);
}